package com.mingqijia.gassafety.webserver.strategy;

import com.mingqijia.gassafety.db.entity.WarnStrategy;
import com.mingqijia.gassafety.db.entity.WarnStrategyExt;
import com.mingqijia.gassafety.webserver.dto.PredateStrategyDTO;
import com.mingqijia.gassafety.webserver.dto.SendMessageDTO;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 燃气泄漏报警数据处理策略 接口
 * </p>
 *
 * @author mby
 * @since 2024-01-16
 */
public interface PredicateGasWarnStrategy {

    /**
     * 信息发送判定，组装数据
     * @param dtuMap 报警策略所需数据
     * @param warnStrategyExtList 策略明细列表
     * @param cacheMap 缓存
     * @param sendDataList  组装的发送数据列表
     * @param predateStrategyDTO 信息发送判断，组装数据策略所需的数据
     */
    public void predicateGasWarn(Map<String, Object> dtuMap, List<WarnStrategyExt> warnStrategyExtList, Map<String, Object> cacheMap,
                                 List<SendMessageDTO> sendDataList, PredateStrategyDTO predateStrategyDTO);
}
